The present invention generally relates to user-interface systems, and more particularly, to a user-interface system that utilizes intermediate user-interface definitions that, for an application program, classify objects and operations related to the objects so that user-interface data can be generated responsive to the interface definitions.
Graphical user-interface (GUI) systems are very popular for user interaction with application programs. However, the development of a GUI for an application program may require significant resources. Furthermore, as the base functionality of the underlying application program changes over time, additional resources are required for maintenance of the GUI. If the GUI is implemented on different client platforms for remote administration of the application program, the effort involved is complicated by the need to maintain multiple code bases that support the GUI for each platform.
A client GUI program often provides some of the same intelligence of the server application program in terms of validation of input data and authorization of operations for selected users. When application functionality and/or operations change, the GUI must also change so that the new functions are available to the user. The continual process of keeping the GUI up-to-date with respect to the server application program may resource intensive, especially where multiple versions and/or styles of a GUI are supported. In addition, special coding is often required to allow a client GUI to interact with different versions of the server application program so that the differences in levels of functionality are available to the user in environments where the single GUI is used to communicate with more than one instance of the server application program.
The present invention is directed to user-interface methods and arrangements for use in controlling computer based application programs. In a first aspect of the invention, a computer-based user-interface method for operation of a computer application program is provided. The method comprises the steps of: classifying objects of the application program with user-interface object definitions, the objects including operation objects and data objects; receiving a request that references an object; reading user-interface object definitions of the object; generating user-interface data in response to retrieved user-interface definitions; and submitting a command to the application program in response to a request that references an operation object.
A user-interface apparatus is another aspect of the invention. The apparatus comprises: means for classifying objects of the application program with user-interface object definitions, the objects including operation objects and data objects; means for receiving a request that references an object; reading user-interface objects definitions of the object; means for generating user-interface data in response to retrieved user-interface definitions; and means for submitting a command to the application program in response to a request that references an operation object.
In another aspect, the invention provides a user-interface method for an application program hosted by a data processing system. The method comprises the steps of: defining hierarchical classes of data elements of the application program with interface class definitions, predetermined ones of the classes referencing instances of data elements; defining groups of classes with interface group definitions; defining operations with operation definitions, wherein selected operations are associated with selected classes and instances; in response to a user-interface request, performing steps (a)-(d); (a)reading a class definition and an associated operation definition for a request that references a class; (b)reading a group definition for a request that references a group; (c) reading an operation definition for a request that references an operation; and (d)generating user-interface data responsive to data from the reading steps.
A user-interface apparatus is provided in yet another aspect of the invention. The apparatus comprises: means for defining hierarchical classes of data elements of the application program with interface class definitions, predetermined ones of the classes referencing instances of data elements; means for defining groups of classes with interface group definitions; means for defining operations with operation definitions, wherein selected operations are associated with selected classes and instances; means for, in response to a user-interface request, reading a class definition and an associated operation definition for a request that references a class; means for, in response to a user-interface request, reading a group definition for a request that references a group; means for, in response to a user-interface request, reading an operation definition for a request that references an operation; and means for, in response to a user-interface request, generating user-interface data responsive to data from the means for reading.
A user-interface system for use with an application program and a client user-interface program is another aspect of the invention. The system comprises: a user-interface definition file having definitions of groups, classes, operations, and parameters, a group definition including one or more classes, a class definition including one or one or more instances of data elements of the application program, an operation definition including an association with a class, and a parameter definition including an association with an operation; a user-interface definition driver coupled to the user-interface definition file, and configured and arranged to, in response to queries for user-interface definitions, read definitions from the user-interface definition file and provide the definitions as output; and a user-interface driver coupled to the user-interface definition driver and configured and arranged to receive user-interface requests, query the user-interface definition driver for user-interface definitions, and generate user-interface data having a format that is compatible with the client user-interface program and content that is responsive to the user-interface definitions.
The above Summary of the Invention is not intended to describe each disclosed embodiment of the present invention. This is the purpose of the figures and of the Detailed Description that follows.